
#ifndef __UIMANAGER_H__
#define __UIMANAGER_H__

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>

G_BEGIN_DECLS


#define TYPE_UI_MANAGER (ui_manager_get_type ())
#define UI_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UI_MANAGER, UIManager))
#define UI_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UI_MANAGER, UIManagerClass))
#define IS_UI_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UI_MANAGER))
#define IS_UI_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UI_MANAGER))
#define UI_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UI_MANAGER, UIManagerClass))

typedef struct _UIManager UIManager;
typedef struct _UIManagerClass UIManagerClass;
typedef struct _UIManagerPrivate UIManagerPrivate;

struct _UIManager {
	GtkUIManager parent_instance;
	UIManagerPrivate * priv;
};

struct _UIManagerClass {
	GtkUIManagerClass parent_class;
};


UIManager* ui_manager_get_instance (void);
GtkAction* ui_manager_get_action (UIManager* self, const char* name);
void ui_manager_set_sensitive_doc_actions (UIManager* self, gboolean sensitive);
GType ui_manager_get_type (void);


G_END_DECLS

#endif
